<?php
// +----------------------------------------------------------------------
// | 有理想的地方，地狱都是天堂。
// +----------------------------------------------------------------------
// | Copyright @ df81.com 版权所有
// +----------------------------------------------------------------------
// | 作者: 南国老符 邮箱：1062129401@qq.com
// +----------------------------------------------------------------------

namespace app\api\model\v1;

use think\Model;
use think\facade\Db;

class Feedback extends Model
{
    protected $insert = ['parentid', 'attvalue', 'addtime', 'ip', 'lang'];

    //父级ID
    protected function setParentidAttr()
    {
        $parentid = input('parentid');
        if (empty($parentid)) $parentid = 0;
        return $parentid;
    }

    //留言属性
    protected function setAttvalueAttr()
    {
        $lang = input('lang');
        if (!in_array($lang, config('lang.allow_lang_list'))) $lang = config('lang.default_lang');

        $data['attvalue'] = '';
        $attWhere[] = ['tabledir', '=', 'feedback'];
        $attWhere[] = ['lang', '=', $lang];
        $attributeData = Db::name('attribute')->where($attWhere)->order('sequence desc')->select();
        foreach ($attributeData as $key => $attRs) {
            $title = str_replace('*', '', $attRs['title']);
            $postAttValue = input("attvalue" . $key . "/a");
            if (empty($postAttValue)) {
                continue;
            }
            $attvalueNum = count($postAttValue);
            if (!empty($postAttValue)) {
                for ($j = 0; $j < $attvalueNum; $j++) {
                    if ($j < $attvalueNum - 1) {
                        if (strpos($data['attvalue'], $title . '：') !== false) {
                            $data['attvalue'] .= $postAttValue[$j];
                        } else {
                            $data['attvalue'] .= $title . '：' . $postAttValue[$j] . '、';
                        }
                    } else {
                        if (strpos($data['attvalue'], $title . '：') !== false) {
                            $data['attvalue'] .= $postAttValue[$j] . '<br>';
                        } else {
                            $data['attvalue'] .= $title . '：' . $postAttValue[$j] . '<br>';
                        }
                    }
                }
            }
        }
        if (!empty($data['attvalue'])) {
            $data['attvalue'] = mb_substr($data['attvalue'], 0, mb_strlen($data['attvalue']) - 4);
        }
        return $data['attvalue'];
    }

    // 添加时间
    protected function setAddtimeAttr()
    {
        return time();
    }

    // IP
    protected function setIpAttr()
    {
        return request()->ip();
    }

    // 语言
    protected function setLangAttr()
    {
        $lang = input('lang');
        if (!in_array($lang, config('lang.allow_lang_list'))) $lang = config('lang.default_lang');
        return $lang;
    }

    // 新增编辑
    static function edit($id)
    {
        if ($id > 0) {//编辑
            $feedback = Feedback::find($id);
        } else {//新增
            $feedback = new Feedback;
        }
        $feedback->save(input('post.'));

        return $feedback->id;
    }

}